package com.jt.controller;

import com.jt.pojo.ItemCat;
import com.jt.service.ItemCatService;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/itemCat")
public class ItemCatController {

    @Autowired
    private ItemCatService  itemCatService;

    /**
     * 需求:  查询三级商品分类列表信息
     * URL: /itemCat/findItemCatList/{level}
     *      /itemCat/findItemCatList/3
     * 参数:level 查询的层级
     * 返回值:SysResult对象(List<ItemCat>)
     */
    @GetMapping("/findItemCatList/{level}")
    public SysResult findItemCatList(@PathVariable Integer level){

        List<ItemCat>  itemCatList = itemCatService.findItemCatList(level);
        return  SysResult.success(itemCatList);
    }

    /*
    *    请求路径: /user/updateUser
    * 请求类型: PUT
    * 请求参数: User对象结构
    *
    * */
    @PutMapping("/status/{id}/{status}")
    public SysResult updateStatus (ItemCat  itemCat){
        itemCatService.updateStatus(itemCat);
        return  SysResult.success();
    }


    /*商品分类删除操作
    * 请求路径: /itemCat/deleteItemCat
    * 请求类型: delete
    * 参数:   id/level
    * 业务描述: 当删除节点为父级时,应该删除自身和所有的子节点
    * */
    @DeleteMapping("/itemCat/deleteItemCat")
    public  SysResult  deleteItemCat(Integer id,Integer level){

        itemCatService.deleteItemCat(id,level);
        return  SysResult.success();

    }
}
